A 3D image is typically rendered using z-axis information provided in the form of depth metadata associated with the image. For example, when a 3D image is captured using a stereoscopic camera, the depth metadata may be provided in the form of a grayscale difference image. The grayscale difference image does not necessarily provide absolute depth values, but does provide information in terms of differences in depth corresponding to the edges of objects contained in the image. This approach may prove useful in rendering images of a certain quality. However, it proves inadequate for more complex applications requiring 3D depth information that goes beyond stereoscopic imaging.
In an alternative approach, an arbitrary rendering volume is selected for rendering an image, and certain absolute z-axis depth values are chosen for providing depth information. While this approach may prove adequate for image reproduction on a display screen of a specific size, it generally fails to accommodate multiple display screen sizes, as well as a range of viewing distances, thereby leading to some objects being located at inappropriate perceived depths within the reproduced image on certain display screens. As one example of an inappropriate perceived depth, an object may appear to be located beyond viewer infinity. When this occurs, a viewer may suffer from an undesirable divergence of the eyes. As a further example of an inappropriate perceived depth, an object may appear to be located very close to the viewer. Such differences in perceived depth may also lead to other problems such as viewer fatigue, eyestrain, and headache.
Thus, it is desirable to provide 3D depth information in a manner that accommodates the displaying of images in a variety of display screens while also accommodating a range of viewing distances.